package com.itheima.test03;

import java.util.concurrent.Semaphore;

/*
题目三:
	请使用Semaphore编写一个程序，实现以下效果：有10名游客要参观展览室，
	而“展览室”同时只允许最多“三个游客”参观，每个游客参观时间2秒。
 */
public class Test {
    public static void main(String[] args) {
        Semaphore semaphore = new Semaphore(3);

        Runnable r = new Runnable() {
            @Override
            public void run() {
                try {
                    semaphore.acquire();
                    System.out.println(Thread.currentThread().getName()+"正在参观");
                    Thread.sleep(2000);
                    System.out.println(Thread.currentThread().getName()+"参观完毕");
                    semaphore.release();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        };

        for (int i = 1; i < 11; i++) {
            new Thread(r,"游客" + i).start();
        }
    }
}
